Blockchain Diary
Block #0 B0.1 Dilute Trust 100% trust is an unnecessary requirement for a stable ledger. Dilute trust is sufficient, so long as you limit direct interactions with untrusted nodes. This is the basis for the Ripple (XRP) network. You can form stable transaction paths through nodes whose 'adjacent trust' is high, even if the relative trust between the initial and final nodes of the payment is low.Essentially it's a wave equation. A node begins as a peak or a trough, and through the transmission via intermediate nodes, the wave propagates through you until your mutual state is flipped from A(x)B(y) to A(y)B(x). - where (A)lice and (B)ob are the transactors and (x) and (y) are the transactants. B0.2 Conditional Trust All trust is conditional. Unconditional trust is a theoretical abstraction, in reality all trust is built upon prior experiences, hence the continuing trust relies upon continuing evidence to support those priors. Integrate Bayesian decision-making into the blockchain. Automatically adjusting trust matrices conditional on eachother's transaction histories. A karmic system of independently assigned trust values, publicly shared by each transactor but optionally stored by any other nodes. Q: ...but then what if a sub-chain fudges its local ledger and claims they all doubled their cash? A: Input-output analysis solves this. That cash has to come from somewhere, hence for a sub-chain to double its cash, other chains will have to have lost the equivalent amount of cash. Unless they are generating their tokens locally ("printing money") in which case the other sub-chains can just keep track of some basic statistics on the chain to determine the true value of their tokens, and simply adjust their coin price to half. Q: Ok, but then what if several sub-chains collude and all agree that eachother's inflation is actually increasing value, thus tricking the broader market into believing their inflated prices? A: These colluding groups at their maximum collusion form a cohesive block, in which case it can be treated as a single sub-chain and can be subjected to the same analysis, even if the group becomes "N-1"meaning every member of the blockchain besides you is colluding to inflate their tokens relative to you.. The more likely attack is the "N/2+1" attackthe so-called "51% attack", which is really an "N/2+1".. In an "N/2+1" attack, the colluding parties are able to shift the average trust of the network in their favour, allowing them to sign their own transactions as valid. However, if the remaining "N/2-1" nodes reduce their trust assignment for the offensive parties to 0, then their average trust is close to 50% (for the "N/2+1" case). B0.3 Trust Reconciliation Ok, so then if sub-chains don't have to trust eachother, then how can an objective trust of the network develop? If some chains are creating tokens artificially, how can an objective measure of any sub-token's value be made? Objective trust = Proof-of-work + Proof-of-stake. A chain needs to show proof-of-work for the tokens it holds, can't have it be easy to generate new tokens, but it doesn't have to be as complex as a mining reward, just some proof-of-work. Once you have this measure, you can compare the work rates of different chains to their claimed value? Then proof-of-stake I think needs to come in here, like you can't have new accounts just having control over the inflation of a chain, because then it's an incentive to just spam fake accounts. At the same time, proof-of-stake as a linear trust mechanism leads to centralisation of trust in the most wealthy nodes, which is totally centralist. Could try logarithmic? You need to have stake up to a certain limit, after which larger stakes add minimal extra power relative to splitting that wealth evenly among many nodes who meet the threshold. ...but then this again leads to the idea of spamming accounts, but now each account would require a reasonable balance before it can have larger impacts on its chains. B0.4 Proof-of-Personhood Really the issue comes down to proving that each node represents an individual actor, and therefore that any "N/2+1" majority truly represents a majority of people on the network, rather than a minority with greater economic and/or technological resources staging a coup. Encode each node's public key with identifying characteristics about them, and force transactions to be signed with other identifying factors? How to prove personhood? Captcha's etc? Would be ideal if the proof-of-personhood also provided the proof-of-work, so then mining would be based on human-ness, and hence money would flow to people rather than CPU and GPU manufacturers...Category:Diary Category:2017 Journals Category:Blockchain